﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DECOR.BL.BE
{
    public class DescuentoBE
    {
        public DescuentoBE()
        {
            this._posicion = "";
            this._importe = 0m;
            this._valor = 0m;
            this._importeAnterior = 0m;
            this.Denominacion = "";
            this.esPorcentaje = false;
            this.LimiteInferior = 0m;
            this.matPosicion = "";
        }

        public DescuentoBE(string pCond)
        {
            this._posicion = "";
            this._condicion = pCond;
            this._importe = 0m;
            this._valor = 0m;
            this._importeAnterior = 0m;
            this.Denominacion = "";
            this.esPorcentaje = false;
            this.LimiteInferior = 0m;
            this.matPosicion = "";
        }

        private string _posicion;

        public string Posicion
        {
            get { return _posicion; }
            set { _posicion = value; }
        }

        private string _condicion;

        public string Condicion
        {
            get { return _condicion; }
            set { _condicion = value; }
        }

        private decimal _importe;

        /// <summary>
        /// valor del dcto (unitario)
        /// </summary>
        public decimal Importe
        {
            get { return decimal.Round(_importe, 2); }
            set { _importe = value; }
        }

        private decimal _importeAnterior;

        /// <summary>
        /// valor anterior del dcto (para dcto zd00)
        /// </summary>
        public decimal ImporteAnterior
        {
            get { return decimal.Round(_importeAnterior, 2); }
            set { _importeAnterior = value; }
        }

        private string _moneda;

        public string Moneda
        {
            get { return _moneda; }
            set { _moneda = value; }
        }

        private decimal _valor;

        /// <summary>
        /// numerico (aplicado a la cantidad)
        /// </summary>
        public decimal Valor
        {
            get { return decimal.Round(_valor, 2); }
            set { _valor = value; }
        }

        /// <summary>
        /// Descripcion del descuento
        /// </summary>
        public string Denominacion { get; set; }

        /// <summary>
        /// Es porcentaje o Monto
        /// </summary>
        public bool esPorcentaje { get; set; }

        /// <summary>
        /// Es el limite que se le puede dar a un descuento
        /// </summary>
        public decimal LimiteInferior { get; set; }

        public string matPosicion { get; set; }
    }
}
